package com.xbongbong.sys.model;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.sys.domain.entity.FeeLogEntity;

import java.util.List;
import java.util.Map;

/**
 * @description:
 * @Author: hongxiao
 * @date: 2019-01-14 22:03
 */
public interface FeeLogModel extends IModel<FeeLogEntity> {

    Integer save(FeeLogEntity entity);


    Integer deleteByKey( Long key, String corpid);

    FeeLogEntity getByKey(Long key, String corpid);

    FeeLogEntity getDingTalkPayInfo(String corpid);

    /**
     * 根据支付结果，更新订单信息，outTradeNo之内的套餐会被标记为激活已支付，其他激活未支付的套餐标记为失效
     * 返回 corpid和feeId
     * @param outTradeNo 以中划线隔开的orderId ，如  100-1480750556
     */
    Map<String,Object> updatePayed(String tradeNo,String outTradeNo);

    /**
     * 根据套餐类型获取套餐订单
     * @param corpid
     * @param type
     * @return
     * @author 石安
     * @date 2020-03-02
     */
    List<FeeLogEntity> getByType(String corpid, int type);

    /**
     * 判断工单是否已过期
     *
     * @param corpid 公司ID
     * @return 否已过期 true -> 过期 false -> 未过期
     * @throws XbbException 异常
     */
    Boolean workOrderV2PastDue(String corpid) throws XbbException;
}
